package obj.day5;

import java.util.Scanner;

/**
 * @author げっしょく
 * @date 2021/7/20
 */
public class Test3 {
    public static void main(String[] args) {
        //创建长度为10的数组
        int[] arr = new int[10];
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入10个有序的数：");
        //键盘录入10个有序的数字
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第"+(i + 1)+"个数：");
            arr[i] = sc.nextInt();
        }
        //输入你需要查找的数
        System.out.println("输入你要查找数：");
        int a = sc.nextInt();
        int left = 0;
        int right = arr.length - 1;
        int middle = 0;
        //循环查找
        while (left <= right){
            //将两个数相加求出它的平均值就是这个数组中的中间数
            middle = (left + right)/2;
            if (arr[middle] > a) {
                //如果下标middle的数大于需要寻找的数，那么证明a这个数在middle的左边
                //然后下标为middle的数排除，所以减一
                right = middle - 1;
            }else if (arr[middle] == a) {
                System.out.println("你要找的数字在数组中下标为：" + middle);
                break ;
            }else{
                //如果下标middle的数大于需要寻找的数，那么证明a这个数在middle的左边
                //然后下标为middle的数排除，所以加一
                left = right + 1;
            }

        }
        if(left > right){
            System.out.println("你要找的数字在数组中不存在！！！");
        }

    }
}
